package com.example.library.github.promeg.pinyinhelper;

/**
 * Created by guyacong on 2015/9/28.
 */
//CHECKSTYLE:OFF
final class PinyinCode2 {

    private PinyinCode2() {
        //no instance
    }

    static byte[] PINYIN_CODE_PADDING = new byte[]{-128, -10, -95, 5, 7, 104, -96, 33, -18, 10, -7,
            -19, 47, 84, 4, 100, 17, 69, 72, -126, 1, -126, 75, 32, -15, -40, 3, 90, -14, 67, -79,
            93, 36, -10, 6, 0, 112, -7, 113, 65, 8, -93, -31, 0, -46, 4, 48, 4, 72, -122, -118, 68,
            -22, -63, 77, 2, 33, 56, -95, -57, 34, -24, 109, -44, -94, 76, 68, 79, 40, -71, -121,
            -41, -48, 52, 4, -56, 103, 40, 14, 10, 0, -74, -111, 32, -49, 24, -89, 0, 18, -75, 26,
            127, 37, 23, 40, 43, 62, 50, 44, -61, -126, -65, 9, -86, 102, 4, -94, 67, -34, 113, 67,
            -126, 48, -112, 27, 75, -88, -91, 41, -3, -126, -108, 91, -20, -112, 5, 7, -112, -61,
            -95, -128, 56, 40, 7, -5, -90, 13, 71, -13, 86, -62, 112, 48, 2, -55, 20, -88, 34, 107,
            110, 46, -8, -27, 105, 47, -59, 41, 2, -86, 2, 95, -13, -54, 100, -28, 66, -128, -41,
            78, 71, -50, 127, 123, 8, 108, 120, -56, -123, -114, 12, 36, -109, 0, 17, -70, 34, 22,
            46, 98, -38, -76, 36, -90, -79, -85, 60, -103, 3, 48, 65, 67, 114, 51, 4, -52, -126,
            -78, 97, 6, 126, -128, 17, 0, -85, 10, -124, -102, 79, -128, -112, 18, 23, 99, 22, -127,
            -24, 6, -58, 118, 69, 65, 0, 27, 23, 44, -74, 13, -22, -4, 127, -68, -124, -87, -32,
            -120, -76, 91, 17, -128, 34, -12, 87, 21, 80, 12, 63, -46, -49, 93, 48, 110, 62, -57,
            28, -126, -71, 45, -94, 62, -70, -92, 102, -122, -73, 99, 15, -117, -120, 40, -72, 70,
            40, -90, -123, 60, 12, -60, 65, 2, 9, 39, -59, 71, 65, 3, 16, 102, -127, 50, 65, 34,
            -29, -48, 96, 33, -56, 103, 79, -50, -115, 16, -108, 71, -88, -9, -59, -116, 53, 3, 1,
            -32, 46, -8, 0, 45, 90, 30, -128, 38, -94, 66, 17, -122, -8, 100, -128, -67, -53, 17,
            -54, 97, -98, 12, 75, -30, 4, 16, 17, 19, 113, 93, -74, -39, 124, 42, 98, -110, -16,
            -40, 114, 12, 0, 70, 46, -82, -63, 46, -44, 4, 82, 64, 32, 0, -104, 66, -26, -100, -13,
            19, 27, 112, -120, -56, 66, 8, 16, 48, 5, 34, 8, -64, 3, 120, -118, 41, 65, 26, -104,
            -75, 84, -100, -55, 90, 65, -128, -35, -30, -59, -46, 64, 88, -10, -63, -128, 68, 60, 2,
            44, -16, 3, 0, 6, 0, 64, -126, 12, 1, 106, 44, 54, -107, 9, 76, 4, 3, -46, 13, 14, -48,
            39, -25, 116, 99, 18, 94, 27, 112, -84, -107, 6, 96, 6, -104, 10, -31, 120, 4, 80, -102,
            30, 73, 49, 64, 64, -59, -68, 5, -119, 38, 4, 8, 122, -124, -37, 8, -128, 17, 12, -60,
            100, 98, 28, -44, 4, 102, 12, -64, -108, 96, 22, 87, 8, -114, 24, 115, 22, 5, 16, 24,
            77, 16, -116, 9, 69, 48, 33, -94, 32, -17, -11, -54, -57, -19, -16, -102, 10, 34, -88,
            94, -65, -100, -44, 42, 120, -73, -97, 57, -55, -64, -64, 111, -26, 26, 49, -12, 56, 6,
            -50, -64, 105, 7, -122, -46, -117, -103, 42, 3, -71, 91, 51, -115, 54, 34, 14, -33, 27,
            3, 72, 35, 96, 6, 103, 22, 3, 38, -94, 126, 66, 23, 48, 72, 64, 8, -70, 112, -122, 40,
            3, -18, 47, -112, 8, -108, -121, 4, 68, 25, -73, 83, 68, 34, -48, 24, -127, 10, 64, -95,
            11, 82, 18, 9, 0, 109, -128, 4, 97, 7, 55, 113, -32, -88, -57, 53, 97, -111, 0, -37,
            -74, -112, 32, 32, 46, -109, -48, -84, 24, 48, 73, -88, 92, -33, -56, 50, 37, 74, 109,
            107, 30, -90, 2, -104, -108, 119, -106, -112, -67, -41, 96, 20, -104, -70, 21, 8, -20,
            -47, -44, -116, -40, -88, -95, 27, 30, 13, -7, -73, -2, -64, 75, -80, -75, -20, 124, 81,
            51, 26, 64, 15, 6, 91, -24, 5, 90, 57, 50, -37, -14, 99, 36, -124, 122, 53, 90, 122,
            -117, 20, 5, 25, 4, -37, -96, 20, -68, 93, 26, 16, 16, 119, 12, -56, 16, -92, 35, 89,
            -97, 55, 87, -96, 2, 21, 127, -104, -84, 13, 40, 80, 33, 96, 26, 49, 32, 8, 81, 7, -111,
            83, 65, -64, 48, 16, -100, -80, -1, 39, -16, -109, 12, 24, 29, -29, 31, -52, -110, 51,
            121, 32, -95, 73, -90, -56, -96, 19, 51, 14, 2, 34, 64, 104, 32, -22, -96, -35, 21, -28,
            -8, 66, 0, 104, -102, -64, -54, 13, 73, 12, 89, -46, -92, 4, 24, 111, -37, 121, 31, -12,
            76, -128, -104, 64, -78, -126, -127, 65, 16, 32, -52, 20, 49, 120, -23, -68, -123, -54,
            -112, -93, -84, -56, 55, 5, -90, 120, 6, -112, 2, 5, 56, -122, 11, 0, 39, -77, -119,
            -96, -126, 9, -88, -52, 98, 116, -118, -28, 32, 29, -39, 16, 120, 7, 73, 8, 2, -123,
            104, 48, -96, 115, 16, 64, 93, 20, -16, 123, -74, 65, -100, 11, -32, 7, 81, -111, 92,
            115, 75, 32, 119, 56, -103, 82};


    static byte[] PINYIN_CODE = new byte[]{-51, -65, 41, 121, 121, -85, -88, 68, -48, 111, 110, -63,
            50, 96, 96, 107, -125, -14, 67, -127, -122, 103, 41, 47, 111, 50, 80, -63, 63, -127,
            -122, -112, 3, 107, 16, 118, -77, -90, 0, 107, -11, 0, 92, 59, -93, 114, 111, 36, -72,
            -117, 0, 0, 0, 90, -126, 104, 126, 90, -28, -60, -92, 15, 102, -125, -117, 57, 102,
            -125, 9, 30, 112, -112, -55, 52, -126, 102, -122, 125, 93, 85, 124, -4, -69, 55, 112,
            90, 15, 39, -123, 53, 114, 68, -79, 15, 60, 6, 125, 49, 38, 57, -108, 85, 102, -6, -109,
            95, 55, -21, 61, 96, 98, 65, -31, -127, 48, 101, 45, -3, 30, -4, 123, -63, 95, 94, 95,
            -113, 75, -2, 101, 65, -126, -125, -107, 0, -78, 18, -120, 0, 85, -6, -85, 126, 109, -4,
            109, 92, 92, 72, 122, -6, 28, 53, 13, 110, 121, -124, 121, 124, -98, 104, 104, 95, -110,
            107, 107, 26, -67, -121, 63, -116, -90, -92, 36, 49, -87, 94, 1, 45, 83, 69, 105, -127,
            56, -89, -76, -84, -60, -77, 34, 52, -108, 41, 60, 16, -76, -118, 41, 124, 41, 127, -62,
            -53, -37, 101, 66, -16, -120, 30, 85, 5, 118, -125, 49, 0, 0, -3, 0, 107, 80, 91, -123,
            -2, -107, 49, -7, 41, 122, -98, -125, -106, 113, 126, 85, 98, 65, 82, 93, -53, 84, -2,
            10, -81, -79, -2, 87, 20, 83, 126, 75, -91, 114, 47, 73, 37, 60, -61, -117, 37, 52,
            -115, -115, 59, 126, -127, -28, 88, 75, -34, 19, -120, 69, 123, 86, 2, 8, 118, 28, 102,
            -79, -91, 95, 41, 0, 0, 0, 0, -127, 71, 0, -76, 0, 0, 112, 57, 41, -124, 59, -81, -32,
            106, 85, 54, 32, -107, 96, 37, 93, -117, -107, 104, 0, -7, 100, -89, 87, 126, 59, -127,
            54, 20, 14, 68, 41, -119, 107, -127, -126, -126, 1, -127, -125, -3, 60, 104, 16, 50, 35,
            -81, -87, 30, -61, 106, 61, 58, -59, -6, 0, 18, -128, -127, -4, -60, -34, 104, 95, -125,
            106, 80, 1, 100, -6, -60, -128, 107, 46, -127, -98, -9, 62, 41, 0, -59, 110, -123, 106,
            -4, -89, -89, 22, -76, 0, 52, -72, -57, 126, -24, -72, -123, 95, 72, 112, -87, 85, -120,
            51, -85, 0, 41, 0, -120, -76, 100, -87, -120, 36, -122, 77, 52, 123, -36, 111, -78, -94,
            0, 87, 0, -117, 89, -80, 107, -125, 106, 110, 107, 88, -32, 20, 32, -93, -117, 45, 35,
            80, 49, 5, 4, 0, 0, 111, -73, -87, 117, -75, 59, -115, 0, -93, -93, -120, -89, -87, 6,
            -47, 111, -80, 0, -4, 48, 124, 91, 111, 111, -4, -24, 95, 34, 41, -6, -112, 104, -115,
            85, 95, 86, 111, -101, -92, -100, 48, 85, 81, 104, -6, 121, 38, 0, -100, -111, -100,
            -111, 43, 30, 0, 106, 91, 90, 111, -4, 89, 104, 96, 84, 59, -121, -24, 121, 64, 124, 95,
            -17, 85, 89, 121, 35, 0, -85, 41, 104, -111, 111, 47, 124, -123, -124, 48, 21, 84, -6,
            21, 21, 77, -117, -4, 38, 27, 38, 27, -122, 54, 54, -87, 55, 111, -87, 107, 57, 57, 49,
            -125, -127, -53, -53, 102, -53, 51, 101, 65, 38, 57, 33, 95, 98, 41, 24, -115, -13, -5,
            3, 52, 1, 114, -85, 104, 89, -123, 103, 24, 127, 58, -127, 103, 0, 114, 81, 40, 18, 64,
            -121, 33, 106, 66, 51, 126, 52, 104, 58, 72, -124, -85, 18, 72, -125, -125, 41, -24, 73,
            -120, 106, 1, 104, 30, -108, -108, 102, 98, 65, 126, 126, 102, 6, -127, 104, -24, 126,
            73, 104, 89, 84, 105, -51, -63, -63, 2, -105, 72, 111, 14, 14, 14, -15, -15, 14, 32,
            -65, 0, 0, -15, 0, -126, 126, 23, -51, 75, 98, 80, 15, 87, -117, -51, 114, 3, 71, 0, 59,
            -18, -117, 76, 53, 14, 24, 0, -65, 54, 41, 111, 75, 115, -125, 57, 24, -72, -51, -87,
            69, 15, 33, -7, -76, 126, 26, 126, -61, -76, 4, 67, 39, 63, -56, -115, -66, -6, -12,
            -49, -6, 60, 87, 43, 86, 14, -44, 0, 90, 37, 70, 1, -6, 106, 85, 111, 101, 3, 99, -108,
            1, 99, 70, 58, -72, 1, 101, 114, 114, 46, 46, -124, 19, 109, 59, 46, -90, -40, 74, 83,
            107, 68, -123, 3, 18, 120, -59, 52, 126, 66, 112, 30, -113, 43, 78, 83, 57, 85, 75, -66,
            3, -6, 32, -22, 112, -4, 84, 84, 98, 49, 17, 100, -124, 38, 84, 0, 0, 60, -123, 38, -4,
            -60, 102, 79, 1, -120, 19, -114, 119, 58, 5, -127, 15, 15, 93, 81, -122, 84, 93, -115,
            121, 0, -6, 86, 95, 95, 0, 104, 83, 114, 112, 113, 100, 37, 36, 58, 110, 75, 121, -128,
            -6, -51, 16, -63, 57, -59, 84, 39, 65, 14, 30, -123, -18, -21, -115, 115, 101, -79, -63,
            120, 87, -24, -87, -74, 25, 87, 80, 121, -53, -63, 41, -117, 117, 75, 75, 76, 115, -87,
            -60, 104, 90, 85, 110, 65, -123, -128, 102, 126, 100, 49, -99, -119, -117, 90, 3, 104,
            -126, -122, 5, 20, 126, -60, 12, -113, 41, -90, 110, 102, 119, 93, 82, -65, 49, 121,
            -10, 48, 83, -123, 52, -34, 37, -80, -19, 20, -6, 49, -40, -117, 113, -120, 38, -89, 96,
            97, 90, -21, -56, 58, 101, -127, 109, 105, 13, 97, -78, -76, 58, -73, 90, -9, 120, -120,
            106, -121, -122, 104, 126, 126, -107, 37, 106, 80, 120, -125, 101, -82, 49, -127, 80,
            92, 90, 22, -112, -123, 106, 84, 85, -109, -120, -124, -73, 0, 3, 70, 104, -52, -89,
            104, -60, 5, -121, -9, 80, 89, 90, 119, 95, 52, -99, 61, -1, -117, 80, -121, 17, -10,
            98, 93, -123, 106, 124, -55, -128, 76, -5, -22, 84, 4, -79, 104, -126, -120, -4, -124,
            -123, -125, 39, -113, 27, 0, 126, -127, -79, 32, 127, 121, -32, 98, -121, -82, 3, 80,
            -127, -114, 112, 9, -66, -113, 110, 85, 20, 71, 124, 119, 104, -7, 107, -93, 114, -92,
            112, -87, 99, 90, 84, -87, 46, 87, 104, 111, 69, -91, 111, -121, -126, 39, 82, -63, 54,
            37, -18, 87, 37, 71, -97, -11, -36, 112, -120, 89, 35, -39, 71, 109, 89, 87, 68, 77, 52,
            74, -116, 28, 64, -87, 46, 49, -89, 46, 61, 72, -91, -94, -85, 80, 83, 114, 124, 63, 0,
            20, -125, 127, 27, 90, 105, 92, 40, 44, 99, 47, 127, 103, -105, 78, 112, 75, 70, 115,
            83, -117, 93, -84, 127, 57, -113, 65, -1, 61, -116, -112, 85, 89, -6, 102, 109, 112,
            -81, 60, -121, -16, 114, 33, 41, -6, 84, 38, -76, -46, -117, 61, 49, -89, -123, -16, 85,
            50, 65, -15, 58, 111, -40, 111, -76, 93, -60, -120, -80, -74, 106, 53, 4, 123, 111, -39,
            37, -13, 46, 121, 112, -94, 127, 1, 100, -4, 65, -58, -123, 106, -60, 12, 112, 81, 11,
            85, 1, 112, -108, -127, 35, 112, 27, -76, -112, 72, 0, -125, -59, -15, 85, 111, 112, 37,
            37, 16, 124, -120, -125, -29, 111, 3, 68, 4, 72, 87, 124, 20, 83, 83, 63, 80, 81, 17,
            90, 27, 80, 96, 94, 100, 119, 96, -60, -108, -65, 107, 100, 110, 119, -58, 92, -63, 116,
            127, -49, -98, 39, 77, -22, -63, -85, -6, -6, -63, 65, 50, 80, 24, 72, -59, 95, -53, 95,
            -127, -17, -125, -125, 121, 87, 88, 104, 106, 126, 39, -122, -125, 125, 59, 111, 14,
            -56, 39, 71, 38, 109, -117, -122, 0, 3, -123, 0, 106, 60, -78, -128, 112, -48, 8, 110,
            5, 45, -84, 32, 100, 46, -36, -112, 78, 39, -67, 107, -95, -98, 0, -125, 95, -77, 107,
            92, 0, 0, -9, -121, 107, 60, 112, 56, 112, -85, 102, -61, -114, 38, -108, 58, 57, 76,
            -79, 101, 26, -55, 124, 39, 104, -74, -69, -7, 80, -87, 23, 84, 85, 81, -3, 27, 39, 52,
            104, -125, 51, 114, 94, 106, 15, 127, 52, 52, -40, 57, 39, 17, 80, -21, 41, 41, -20, 82,
            25, -57, 115, 65, 114, 125, 85, -112, 63, -123, 107, 90, -122, 122, 96, -112, 61, 63,
            54, 14, -123, 126, 108, 106, 95, -78, -123, 100, 35, -67, 107, 46, -72, -93, -75, 89,
            18, 59, 111, 94, 121, 14, 16, -123, -124, -104, 37, 33, 63, -60, 5, -76, 121, 121, 110,
            32, 83, 109, 108, -67, 1, 111, -13, -127, 99, -123, -6, 85, -127, -76, -72, -78, -121,
            109, 49, -77, -123, 92, -3, -87, 100, 26, -123, 49, 46, 72, -24, 63, 103, 85, -60, 60,
            -53, 33, 112, -85, -93, 76, -87, -4, 87, 96, 104, -67, -112, -66, -110, -73, -16, 41,
            127, 127, 39, 95, 124, -96, -125, 100, 44, -83, 53, 64, 101, -124, 49, 107, 119, 94, 41,
            105, 107, 89, 0, 0, 95, -85, -123, 80, -15, 111, -123, -9, 88, 126, -122, 84, -23, -127,
            -21, 80, 89, -4, -4, 85, -76, 85, 55, 75, 125, -56, 20, 52, -83, -125, -122, 104, 63,
            78, 58, 59, 34, 98, -98, 0, 34, 71, -120, 22, 116, 14, 32, 32, 32, 41, 69, -7, -81, 80,
            27, 27, 37, -119, 37, 122, -123, -91, 35, 93, 54, 118, 49, 41, -16, 112, 114, -79, 119,
            90, 114, 115, 87, -125, 32, 85, 5, -76, -93, 0, 111, -81, -56, 119, 59, 124, 120, 90,
            111, -87, 39, 97, -80, -67, -112, 109, -101, 24, -85, 65, 103, 5, 124, -85, 32, -67, 58,
            58, 104, 54, -15, -117, 57, 0, -127, -113, -85, -32, 109, -121, 86, 27, -127, 54, 126,
            41, 57, 50, 68, 27, -120, -94, 18, -85, -60, 39, 41, -60, -34, 107, 107, -61, -121, -6,
            14, -127, 114, 17, -107, 83, 61, 106, 106, 74, 48, -128, -120, -93, -114, 2, -7, -113,
            80, 18, 102, -4, 92, 18, -96, 85, 0, 18, -125, 74, -73, -73, -72, -87, 110, 101, -76,
            49, -122, 107, 72, 79, 126, 90, -21, 37, 16, 32, -57, -79, -125, -7, 27, 37, 102, 18,
            -128, 87, -76, 0, 112, 107, 15, -87, -120, 89, 107, 54, 80, 90, 123, 114, -120, -78,
            -94, 74, 83, 121, -94, 0, 0, 107, -60, -127, -85, -125, 107, 86, -81, 104, -125, 113,
            32, 57, 9, -125, -93, 83, 45, 112, -113, 87, 35, -89, -93, 49, 4, 109, -4, 82, 105, 6,
            100, 114, 0, 22, 117, -75, 100, -87, -60, 58, 59, 59, -123, 32, 0, 114, 6, -120, -93,
            -93, -47, 78, -75, 5, 87, 100, 93, 100, 111, -128, 16, -57, 106, 62, 126, 89, 89, 0,
            119, -80, 119, -117, -118, 124, 90, 38, -113, 116, 116, 24, 101, -6, -122, 86, -33, 107,
            81, -9, 104, -76, 45, -15, -112, -21, 100, -112, -20, -51, 34, -83, 107, -110, 75, 106,
            91, -123, 106, 91, 80, -3, 15, 56, 86, -124, -120, -108, -128, 90, 6, 76, 76, -80, -113,
            96, -117, 59, -19, -119, -19, 58, 58, 19, 101, 69, 112, -120, 124, 65, 80, 39, -85, 38,
            -10, 0, 121, 48, -93, 68, -123, 95, 92, 5, -82, 124, 101, 89, 94, 87, 106, 84, -121,
            102, 39, 80, 69, 69, 116, -112, 119, -73, 86, -120, 96, -124, -9, 100, 126, 106, -127,
            126, -109, 0, 83, 34, 103, 126, 0, 60, -121, 11, 0, 85, 90, -119, 35, -7, -120, -113,
            68, 78, 111, -16, -92, 32, 121, 87, 38, 15, 121, 0, 41, -92, 98, 98, -115, 89, 85, 100,
            112, -116, 4, 63, 90, -6, 84, 0, 0, 112, 100, 124, -62, -117, 60, 11, 86, -81, -97, 127,
            46, 85, 53, 84, 119, -117, 90, 113, -123, 49, 87, -10, 2, 53, 85, 2, 91, -113, 100, 100,
            104, -115, 111, 94, 8, -15, 100, 0, 38, 33, 34, 0, 0, 0, 0, 36, 115, -98, -122, 73, 99,
            126, 87, -85, 96, 92, 125, -123, -125, 14, 107, -120, 80, 72, 65, 85, -29, -29, 32, 100,
            -119, -119, 111, -63, 30, 84, 103, 91, 2, 16, -63, 124, 95, -128, 80, 83, 3, 54, 101,
            -82, -120, 0, 95, 103, 10, 121, 114, 86, 0, 0, 15, 80, 73, 60, 34, 32, 114, 20, 125, 90,
            85, 84, 85, 114, 115, 115, 85, 114, 93, -49, -109, 0, 102, 98, -55, -85, 107, 81, 15, 0,
            0, -3, -79, 85, 14, 16, 49, -76, -125, 41, 104, -77, 87, 54, 104, 63, -115, -111, 114,
            121, 104, -123, 5, 80, -83, 112, -24, 11, -119, -67, 0, 33, 52, 123, -125, 85, 85, 85,
            104, 89, 38, 125, 32, 103, -4, 8, 100, 87, -2, -106, 62, 75, 37, -123, 86, 49, -83, 111,
            -81, 69, 34, 86, 83, 100, 98, -93, -63, 60, 104, -120, -62, 0, 0, 107, 111, 104, 97,
            -93, 58, 119, 24, 54, 85, 6, 49, -85, 126, -120, 90, -80, 80, 104, 90, -128, 126, 0, 0,
            -93, 17, 87, -109, 98, -121, 40, 60, 102, 115, -93, 16, 15, -87, -53, 10, 21, 63, -72,
            5, 98, -99, 48, 0, -87, -76, -115, -83, 100, 85, 90, -78, 100, 0, 9, 113, -93, 49, -115,
            69, 105, 0, 35, -60, 60, -93, -120, -93, -80, 52, 111, -119, -93, -23, -124, -19, -128,
            112, 2, 80, 0, -115, -115, 90, 103, 6, 67, 103, 102, -109, 45, 80, -21, 43, -108, 118,
            118, -3, 67, -3, -14, 8, -21, 34, -125, -22, 72, 109, 70, 70, 15, 67, 9, 20, 9, 110, 0,
            72, 99, 37, -33, 37, -11, -118, -52, 57, -51, -91, 12, -66, 84, -65, -51, 12, 84, 100,
            82, 11, 49, -125, 102, 110, 102, 38, -51, 63, -4, 5, 5, -112, 62, 85, -66, -106, -4, 84,
            102, 85, -87, -87, -8, -127, 94, -123, 12, 5, 20, 72, -117, -126, -125, 87, -14, -108,
            -117, -109, 41, 85, 11, -73, -122, -69, 24, 80, -87, 75, 69, 27, -124, 85, -87, 72, -82,
            -15, -13, 10, 85, 40, 80, -98, 40, 5, 5, 6, 83, 3, 20, 31, 47, 3, -122, -116, 106, -69,
            110, -110, 20, 120, 99, 112, 124, -116, 114, -99, -33, 63, 1, -122, 114, 11, -15, -117,
            -40, 38, -19, 86, 75, 121, -80, 85, -15, -40, 38, 110, 101, 113, -117, 58, 20, 102, 87,
            -34, 124, 117, -123, 115, -128, -127, 124, 32, 57, 15, 40, 69, -91, 72, 86, 39, -101,
            -124, 111, 55, 111, 14, -66, 85, -116, -87, 86, 106, 53, -92, 11, -123, 100, 30, -87,
            -123, 87, -120, 112, 85, 102, 6, -6, -40, 16, 106, -87, -82, -125, -3, -97, 100, 109,
            -111, -60, 33, 104, -123, -124, 99, -61, 23, 51, 35, -82, 0, -73, 121, -111, 121, 80,
            87, 83, 112, 92, -120, -65, 80, 112, 87, 72, 99, -46, 90, -126, 120, 15, 110, 110, -63,
            30, 102, 55, 20, -55, 122, 112, 51, -69, 112, 57, 111, 39, 114, 0, 104, -125, 44, 114,
            -67, -120, -124, -53, 127, 32, 5, 5, 114, 53, 12, -115, 14, 14, 125, 21, -81, 111, 69,
            102, -83, 48, 89, 40, 0, 85, 96, -116, 72, 126, -101, 87, 90, 57, 87, 98, -34, 15, -128,
            -31, -61, -82, -46, 106, 40, -76, 57, 87, -60, 9, 124, -46, -73, 87, -6, 4, 96, -58,
            -112, -72, -76, 111, 52, 79, 3, 91, 68, -90, 6, -127, 119, 63, 43, 93, -118, 111, -6,
            111, 101, -69, 119, 84, 90, -56, -122, 99, 18, 15, 13, 113, -115, 114, -115, 78, -125,
            -63, 58, -15, 80, 124, 87, -3, -80, 57, 104, 3, -10, 65, 90, 96, 85, 20, 48, 101, -126,
            34, -9, 48, -108, 8, 38, 37, 104, -109, -126, -56, 32, -79, 14, -125, -125, -115, 82,
            -78, -121, -123, -125, -87, 106, 87, -121, 100, 100, 94, 101, 95, -73, 52, -120, 0,
            -107, 98, 10, 80, 88, 102, 86, 118, 107, 39, 95, 8, -18, 0, 59, 107, 127, 81, 77, 37,
            64, 84, 84, 37, -114, -63, 11, 68, 87, 47, 112, 96, 100, 3, 5, -92, -87, 94, 90, -79,
            99, 85, -80, -87, -121, -85, 56, 56, 0, 78, 65, 19, 126, 53, -56, 111, -117, 36, -94,
            81, 38, 80, 65, 41, -113, -18, 37, 121, -6, 77, -97, 33, -6, 13, 78, -76, 49, 105, 100,
            66, 11, -81, 0, -15, -23, -3, -113, 0, 82, 0, 2, 72, -122, 127, 111, -65, -63, 46, 96,
            64, 92, 57, 16, -56, -125, 80, 18, 124, 90, 43, -125, -117, 101, -85, 5, 86, 73, 112,
            103, -46, 121, 107, 111, 125, 19, 27, -79, 0, 15, 56, 102, 81, 84, -121, -121, 107, -69,
            61, -79, 60, -87, -92, 107, 65, -3, 55, -115, -128, 102, 2, 18, 71, 33, -97, -117, 49,
            -121, 104, 53, 49, -6, -87, 107, 56, 3, 96, 5, -85, -67, 127, 106, 0, 107, 80, -76, 84,
            62, 0, 123, 98, 4, 59, -81, -83, 2, 52, 125, 107, -7, -120, 83, -121, -79, -127, 0,
            -120, 2, 14, 24, 4, 119, 59, -123, 108, 59, 126, 124, 27, 54, 65, 0, 111, -121, 90, 18,
            41, 81, -107, -93, 85, -127, 96, 18, -128, 92, -89, 72, -87, -123, 16, -87, 117, 2,
            -127, 107, 54, -95, -78, -76, -87, 117, -93, 107, -60, 88, 85, 105, 60, 117, 124, 103,
            10, 67, -19, 121, -123, -13, 8, 9, -87, 76, 0, -124, -4, 8, -17, 84, 58, 82, -24, 0, 0,
            0, 121, -80, 104, -10, 48, 0, -116, 33, 38, 0, 59, -61, 21, 45, -10, 15, -121, -125, 0,
            48, 107, -6, 87, -77, 63, -24, -61, -117, 13, -81, 123, 84, -15, 58, 82, 107, 100, 93,
            57, 37, 65, 65, 112, 33, 38, 1, 37, 32, 32, 19, 38, 52, 37, 109, 43, -76, 90, 109, 13,
            0, -34, 65, 110, -126, 37, 124, 65, 90, -48, 65, -10, 68, 122, 68, 5, 116, -61, 14, -6,
            -79, 98, -79, 33, -51, 114, 83, 90, 99, 65, -122, -122, 5, 80, 90, 65, -51, 0, -21,
            -124, 76, 56, -48, -79, 12, -125, 41, -51, -51, 27, 0, 92, 14, 56, -123, -71, -6, -71,
            -21, 0, 83, 122, 111, 111, -51, -114, 104, -79, 35, 67, 40, 122, 59, 47, -127, 78, -124,
            37, 33, 74, -89, -127, 30, -79, 67, 72, -81, -124, -124, 40, 20, 67, 67, -15, -36, 58,
            41, 41, -123, 104, 44, -49, 68, 14, -122, -83, 100, 96, -118, -121, 86, 32, 95, -26,
            -87, 101, 36, 110, 6, -122, -115, 85, 86, 53, 14, 104, -87, -111, 44, 87, -120, -19,
            -15, 93, -108, 48, 90, -6, 58, -125, 82, -123, 63, -117, -127, 85, -117, 65, -126, 96,
            124, 19, -36, -124, 109, -120, 5, 39, 69, 104, -122, 80, 126, 76, 101, 38, -123, 117,
            99, -63, 71, -120, 89, 69, 71, -66, -15, 89, 53, -7, -87, -123, 55, 76, 84, 30, -91, 40,
            124, 87, 104, -16, 127, 105, 59, 85, -69, -81, 38, -127, 65, 3, 38, 14, 14, -56, 102,
            74, 77, 80, 111, 53, 99, -120, 85, 58, 37, -122, -127, 111, 120, 87, -95, 101, 37, 71,
            111, 103, 81, 124, -103, -126, 106, 104, -77, 26, -115, 38, 85, 105, 104, 81, -127, 44,
            8, -89, -79, 31, 40, -26, 65, 56, 17, 59, 127, 16, 37, 51, -73, 104, -111, 40, 127, 125,
            51, 56, 6, 66, -77, -77, -53, -121, 106, 107, 125, 90, -83, -78, -2, -79, -91, 87, 85,
            58, 106, 115, 2, 8, 87, 105, 104, -32, 111, 80, 104, 109, -15, -89, -87, 41, 58, -81,
            65, -81, -94, 17, -127, 38, 101, 96, -122, -124, 0, -87, -128, -94, -127, 65, 87, 107,
            106, 4, 109, 59, 65, -73, -75, -75, 20, 0, 107, -9, 82, 62, 82, 7, 7, -1, 14, 119, 119,
            -65, 61, -23, -122, 125, 107, 48, -80, 95, -53, -127, -123, -16, 95, 2, 77, 114, 112,
            14, 78, 40, -4, 85, 2, -119, 114, 125, 114, 120, 53, 114, 89, 103, -9, 114, -123, 2, 92,
            125, -87, -13, 115, -123, -15, 93, -19, -121, -114, 3, 54, 6, 124, 102, -114, -114,
            -121, 124, 102, 126, 72, -56, -6, 107, 111, 11, -128, -122, -17, 115, 107, 115, 104, 20,
            78, 115, 4, 126, 100, -125, 115, 111, -98, 83, 92, 60, -21, 90, 3, 38, 60, -76, 126,
            -61, -76, -121, 95, -125, -21, 105, 3, -76, 95, -121, 59, 3, 102, -87, -51, 68, 93, 95,
            -66, -66, -123, -6, 78, 65, 88, 75, 91, 85, -21, 87, 75, -56, -55, 38, 39, 114, -59,
            -21, 84, -58, 58, -63, -65, -111, 87, -104, 39, 101, -124, 102, 37, -128, 56, -125, -99,
            -117, 37, 104, 38, -63, -53, -120, -125, -125, -59, 63, 112, 67, 104, -112, -112, 34,
            124, 96, 19, -60, -78, 54, 69, -60, 67, 104, 80, -55, 96, 38, -99, -116, -52, -125, 66,
            101, 100, -53, -122, -68, -127, -124, -63, 56, 34, 112, 124, 63, 37, 55, -116, 77, 78,
            87, 85, -97, -94, -125, 32, 65, 127, 78, -80, 39, 2, -82, 99, -120, -124, -87, -94, 54,
            -116, 46, 54, 72, -15, -15, -51, 127, -40, -76, 95, -122, 23, -121, 111, 127, -69, 86,
            92, 126, 108, 0, 46, -125, -63, 72, 120, 96, 64, -98, 95, 19, -65, 95, 82, 81, -58, 40,
            -98, -60, 82, -104, 59, 36, -108, 51, 86, 2, -65, -55, -67, 46, 120, 127, 104, 66, -104,
            -53, 47, 49, -77, 38, -67, -13, 37, -127, -61, 124, 20, -12, 85, -2, -7, -120, 62, 37,
            47, -83, 35, 87, -111, 103, 95, 69, 84, -81, -98, -125, 103, 2, 126, 126, -125, 102,
            -128, -117, 80, 40, -127, -34, 98, 102, -128, -61, -59, 18, -59, -87, 106, -115, 96,
            -59, -128, -76, -61, -78, 105, -67, 85, 41, 60, -111, -120, -65, -121, -81, 111, 48, 27,
            -115, 39, 104, 37, -123, 120, 37, 107, -117, -121, -123, 55, 73, 2, -123, 123, -128, 7,
            39, 68, -6, -127, -112, 93, 84, 75, -103, -3, 85, 83, -99, 59, -69, 30, 58, -115, -87,
            90, -56, -28, 122, -110, -123, -6, -111, -122, 86, 77, 99, -15, -127, 100, 54, -117, 35,
            75, -21, 100, 0, 87, 82, -53, 124, 4, 111, -108, 75, 75, 63, 125, -125, 77, 90, -51,
            -120, -95, 15, -30, -10, -16, -80, -19, -90, -9, 20, -9, 37, 115, 2, -87, -78, 69, 0,
            -87, -99, 41, -106, 5, -120, -99, 107, 77, -46, -126, -76, 80, 2, -73, -107, 92, 100,
            70, -16, 85, 0, 119, 48, 86, -2, 0, 80, -2, 0, -106, 89, 6, 32, -92, 119, 111, 89, 86,
            -66, -78, 0, 35, 35, 83, -79, 107, -66, 6, 100, 55, -97, 111, 0, 0, -76, 36, -125, 0,
            50, -113, -106, -16, 100, -115, -105, 29, -6, -111, 1, -81, -114, 20, 68, -56, 66, -125,
            115, -79, 2, 54, 6, -80, 11, 106, 74, 84, -6, -74, 78, 65, 94, 11, -6, 36, 18, 100, 67,
            68, -121, 75, -122, 107, 15, -108, 14, 80, 48, -125, 73, 86, 59, 64, -46, -16, -125, 63,
            59, 30, 0, -6, 0, 87, 96, 6, 6, -69, 100, -39, 52, 77, 48, -79, 49, 60, 9, 122, -15, 80,
            25, -89, 55, 65, 86, 85, -85, -21, 80, 114, 74, -127, -108, -95, 0, 1, 108, -117, 32,
            -6, 5, -16, -76, -76, -111, -3, 36, 106, -89, 16, -6, -53, -6, 53, -111, 1, 47, 0, -127,
            32, -91, 4, 123, 62, -125, 85, -81, 68, 65, 125, -21, 115, -2, 63, -87, -125, -123, 85,
            127, -2, 75, -125, 111, -115, 115, -128, 125, -89, -108, 41, -127, 6, 59, 83, -124, -15,
            -15, 111, -11, -6, 2, -108, -125, 111, 18, -61, -19, -112, 20, 0, -57, 22, 87, -99, -89,
            -89, -123, -87, -87, 83, 6, -19, 107, -87, -78, -78, -53, 20, 45, 105, -93, 117, 100,
            39, 39, -87, 13, 35, 113, 49, -6, 57, -69, 90, 102, 87, -123, -6, -123, 13, 41, 39, 0,
            104, 39, 110, -123, 66, 90, 90, -60, -109, -123, 53, -63, -105, 4, 121, -120, 37, 54,
            48, 31, -60, -72, 111, 88, 84, 66, -13, -120, 107, 86, -123, -127, 95, -125, 95, 46,
            -121, -125, 92, -97, 63, 60, -128, 61, -6, 102, 105, -107, -80, -76, 19, -121, 60, -123,
            -76, 32, 11, -127, 126, 110, 85, 106, -112, -128, -125, 90, 112, 84, 87, 101, 64, 104,
            -63, 49, 63, 0, -113, -125, 109, -127, 95, 60, 38, -69, 57, 0, 96, -6, 111, 85, -127,
            49, 32, 96, 126, 54, -87, -32, -40, 60, -87, 9, 113, 64, 117, -89, 16, 111, 111, -87,
            90, 0, 115, 71, 94, 49, 12, 71, -112, 30, 93, 104, 87, 19, -39, 3, 3, -122, 86, 114,
            114, -108, -58, -123, -120, 14, -123, 111, -60, -103, 8, -15, -40, -87, 110, -109, -15,
            6, -80, -53, 37, -39, 0, 101, -105, -123, -123, 41, -117, -112, 58, -127, 37, 69, -123,
            -128, 115, 106, -112, -123, -122, 12, 72, 104, -120, 126, -32, 90, 85, -109, -92, 90,
            120, 46, -72, -97, 93, -120, 64, 37, 71, 34, 46, 99, -74, -76, 102, -105, 12, -114, 9,
            7, -127, -123, -123, -97, -88, -16, -108, 19, 40, -107, 111, 52, 0, 0, 104, 85, 15,
            -127, 90, 14, -28, -122, -122, -111, 95, 37, 60, 81, -85, -112, 111, -127, 95, -125,
            -123, 60, -126, -127, 95, 95, 102, 15, 54, 0, -127, -110, -51, 32, -62, -123, -127, -76,
            52, -127, 107, 81, 3, 27, 0, 104, 125, -1, -127, 54, 89, -7, -123, -113, 69, 0, -72, 54,
            -32, 27, 126, 9, -28, 111, 0, -127, 73, 81, 37, -128, 100, -72, 16, 0, 9, -115, -87,
            117, 97, 76, -118, 2, 85, 2, -105, 111, 28, -120, 102, 43, -114, 71, -91, -1, 125, 102,
            15, 10, 102, 19, 111, -120, -123, -2, 66, 84, 107, 102, -123, 43, 102, 66, -123, 44,
            -119, 89, 37, -104, 52, 83, 58, -103, -108, -115, 95, 52, 0, -98, 71, 0, 106, 83, 76,
            99, 111, -117, 2, 102, 102, 66, -83, 111, 65, 66, -117, -83, 85, 84, -98, 44, -117, 0,
            -100, -78, 37, 53, -13, 119, 52, -2, 2, 71, 119, 119, -1, -87, 41, 39, 90, -4, 41, 119,
            -6, -4, 100, 39, 41, -58, -117, 126, -120, -80, -78, 19, -120, -120, 127, 104, 49, -114,
            119, 69, 50, -120, 66, 104, 41, -120, 4, -122, -10, 73, 34, -117, 29, 62, 54, 123, -120,
            -111, -120, -120, -120, -90, -16, 111, 38, 93, -66, -120, 0, 72, -127, 89, 6, 53, -127,
            -125, -128, 55, 99, -115, 112, 121, 94, 89, 28, -15, 14, -125, 104, 70, 32, 38, 86, 63,
            -120, -50, 38, 102, -87, -1, -56, 10, 66, 49, 90, 27, 12, 82, 56, -112, 63, -80, 120,
            -30, 90, 101, 83, -126, 96, 83, 39, -65, -9, 0, -125, 2, -78, 0, 15, -73, 107, 4, 38,
            106, 102, 87, 14, 2, 103, 62, -123, -121, 5, 55, 17, 82, -99, -120, 69, -127, 56, 113,
            27, -122, -104, -94, 14, 31, 59, -124, 27, 90, 114, 71, -23, -87, -92, -117, 105, -125,
            112, 69, 86, -123, 37, 53, 39, -120, -105, 89, 34, 68, -126, 100, 95, -101, 93, 40, -99,
            94, 114, 0, -4, 89, -125, -7, -94, -110, 14, 14, 14, 96, 38, 104, 111, -125, -128, 102,
            38, -124, 1, 30, -121, -76, 20, -127, -81, 53, -114, 90, 124, 102, -105, -4, -4, -114,
            45, 105, 112, 27, -117, 20, 120, -1, 75, -73, 58, 89, 21, -125, 0, 15, 55, 88, 87, -10,
            -125, 38, 121, 39, -120, 113, 46, 90, 84, 70, 48, -127, -122, 125, 92, -63, 83, 43,
            -117, -14, 87, -120, 119, -1, 120, 3, -58, -4, 0, -98, 0, -77, 114, 115, 60, 113, 40,
            95, 85, 21, -124, 101, -36, -4, 89, 52, 100, -20, 72, -87, 14, -113, 41, 31, 38, -120,
            -3, -78, -93, -125, 21, -87, 126, 14, 63, 49, 100, -16, 28, 52, -22, -13, 71, 111, -57,
            -117, 120, 85, 109, 104, 121, 32, -104, 51, -10, 119, -127, 107, 52, -77, 124, -76, -39,
            56, 52, 0, 56, -90, 73, -84, 89, 20, -60, 31, 59, -83, 58, 65, 90, -125, -56, -98, 57,
            -2, 62, 125, 55, -91, 117, 89, -76, 39, 117, 0, -22, -6, -22, 93, -117, 72, -76, 100,
            20, 59, 23, -108, 101, -4, -85, 21, -121, -94, 0, -93, -98, 111, 113, 114, -125, 58, 64,
            -60, 40, -127, 0, -6, 63, -117, -121, 83, 51, -121, -4, -96, 63, -76, -76, -125, 75,
            107, 111, -94, -78, 0, -85, -93, -4, 113, -122, 4, -85, 15, 73, -108, -87, 31, -73, 107,
            113, -113, 95, -60, 63, 83, 37, -127, 37, -27, 90, -89, 87, -112, -40, 54, 127, -4, 0,
            14, 8, 84, 30, -110, 16, 86, 14, 53, 106, -87, 38, 58, 0, 6, -87, 93, -117, -9, -53, 51,
            126, -121, -87, 52, 66, -87, 85, 52, 119, 69, -112, 27, 113, -121, -81, -116, 7, 0, 86,
            -59, 4, 0, -84, 87, 90, -84, 24, -120, -87, 113, -76, -117, -6, 53, 7, 33, -81, -111,
            -120, 109, 0, 24, 24, 60, 15, 16, -59, 120, 95, -111, 121, -125, 117, 48, -87, 90, 90,
            -28, 11, 102, 94, 95, 60, 3, 0, 26, -116, 60, -60, 24, 86, 119, -110, -124, -53, 24, 24,
            -28, 38, -84, -124, -101, 20, 124, 41, -111, -125, -28, 72, -36, -87, -105, 63, -36, 66,
            -93, -60, -60, -118, 85, 100, -124, -118, 110, -127, 30, -121, 98, 113, 119, 111, 115,
            78, 12, 81, 81, 3, -50, -112, 70, -33, 89, -122, 41, 46, -15, 106, 30, 119, -123, -127,
            86, 114, 12, 58, -121, 52, 84, 56, 53, -118, 124, 6, -121, 90, -123, -6, -112, 40, 119,
            124, -89, 85, 90, 90, 37, 11, -120, 4, -80, -120, 34, 93, 101, 90, 75, -125, 57, 41, 39,
            -122, 87, -109, -119, 8, -117, -23, 41, -107, -99, -120, 12, 118, 90, -122, -120, 40,
            103, 7, -115, -99, 121, 48, 99, 99, 61, 90, -103, -123, 5, 92, -73, 96, 13, 87, 90, 97,
            69, 15, 66, 106, -89, 90, 5, 95, 111, 67, 69, 49, -124, 88, 126, -115, -123, -125, -116,
            38, -59, -125, -72, 37, 3, 41, 9, 69, 89, 78, 0, 99, 94, 64, 94, 90, 119, 85, 90, 68,
            54, 74, -97, 90, -120, 121, -123, 100, -119, 87, -127, 95, 0, -111, -81, 76, -87, -72,
            -84, 40, 5, 34, -6, -6, -114, -6, 78, -4, 87, 40, 80, -6, 61, 78, 94, 79, 13, -115, 23,
            109, 53, -74, -79, -6, 126, 11, 47, -80, -59, -6, -122, 59, -111, 108, -110, 104, -112,
            92, -84, -121, 85, 19, -56, 111, -111, 83, -72, 95, 0, 33, 0, 95, 88, -125, -108, 87,
            18, -59, -127, 73, -122, 63, -56, -58, 112, 90, 10, 49, 3, 15, 124, 99, -111, -59, 80,
            90, 80, 111, 101, -58, -122, -85, -111, 15, 114, 106, 64, 103, -123, 114, 37, 32, 57,
            -126, 112, -111, 95, 38, 0, 99, 0, 107, -121, 104, -115, -40, 9, 102, -21, -121, -125,
            55, 5, 45, 114, 86, 43, 85, 15, 61, 90, 114, -125, 95, 17, 121, 116, 63, 87, 52, -125,
            -111, 61, 125, 23, 14, 87, 51, -87, 56, 106, 85, -111, -89, -117, -4, -67, -123, -72,
            -53, -13, -85, -60, 96, -111, -127, 32, 54, 83, 43, 13, 104, 26, -52, -121, -3, 127, 87,
            85, 0, 94, 8, 96, 126, -2, 123, -105, -123, 32, 24, -81, 111, 83, -83, 47, -106, -125,
            10, 32, 19, 94, 126, 122, -108, 85, -3, 0, 56, 38, 126, 85, 27, -125, -124, 124, -2, 49,
            -122, -123, 20, 32, 104, -46, 54, 104, 31, 95, -127, 18, -4, -125, -7, 98, -108, -6,
            -16, -87, -53, -89, 90, -108, -99, 110, 95, -89, 87, 32, 0, -76, 32, 107, 23, 88, 87,
            -107, -108, -73, 85, 60, -93, -89, -85, -60, -118, 111, 119, -121, 87, 115, 113, -127,
            78, -99, -127, 12, 80, 114, 119, 46, -15, 30, 94, -50, 12, -111, -74, 86, -123, 81, 84,
            -120, -125, -33, 41, 87, 93, 90, 90, -85, -109, 37, 85, -123, -122, -121, 8, 90, 41, 34,
            104, -120, 57, 9, 15, -122, -103, 10, 67, 113, 126, -127, 96, -124, -73, -115, -123, 69,
            99, 89, -116, 94, 85, 54, 61, -127, 64, -127, 95, -80, 106, 95, -6, 85, 47, 33, 108, 38,
            80, -59, 40, 13, 40, 61, -79, 5, -111, 126, 78, -72, -115, -112, -108, 88, -125, -59,
            -93, 64, -58, -127, 114, 126, 49, 76, 73, 15, 87, 101, -115, 124, 63, -72, 15, -56, 112,
            -121, 90, 17, -125, 87, 53, 95, 32, -87, 104, -125, 18, -13, -67, -89, 107, 56, -52, 26,
            90, -83, 32, 123, -124, -4, -2, 124, -123, -108, 89, 90, 94, 89, 6, 89, 6, 20, -10, 120,
            0, 94, 107, 107, 1, 86, 105, -106, 59, 0, 1, 82, 107, -89, 59, -76, 105, 79, 94, 79, 79,
            112, 0, -73, 90, -60, 82, 102, -120, -117, -65, 102, -56, 94, 6, 103, 64, -116, 90, -81,
            100, -128, -107, 103, -113, 111, -123, 3, 82, -93, 41, 49, -15, -69, -79, 6, 82, -87,
            34, 80, 14, -127, 123, 69, -79, -127, -116, -60, -128, -73, -15, -127, -127, -75, 101,
            -57, -3, 57, -63, 101, 110, 110, 86, 6, 95, 101, 102, -3, 118, 95, -80, 104, -120, 63,
            94, -3, 104, 87, 15, 7, 7, -4, 124, 56, 87, 104, 101, -3, 87, 111, 99, -122, 60, 112,
            85, 83, 32, 86, 32, -85, -89, 99, -31, -3, 32, 111, 100, 104, 39, 82, 86, 119, 38, 38,
            53, 90, 86, -17, 104, -95, 104, -15, -80, -79, -123, 4, 85, 90, 88, 85, 85, -6, -2, 126,
            126, 41, 27, 119, -124, 125, 53, 85, 61, 30, 38, -120, -125, 96, 39, -14, -111, 78, 126,
            120, 115, 115, 112, 5, -13, 104, -85, 4, 0, -81, -17, -2, 5, 83, 104, 126, 96, 60, 102,
            -91, 0, -109, -65, -127, -6, 101, 101, 101, 67, 67, 80, 42, 18, 80, -49, -117, -89, 68,
            -112, 99, 34, 114, 114, -23, -15, 38, 49, 4, -126, -117, -128, 41, -91, -74, -127, 60,
            -24, -77, -31, -124, -20, 120, -77, -127, -91, -128, 110, -53, 123, 80, -127, 68, 103,
            56, 50, 0, 114, 38, 58, 58, 119, 99, -123, 0, -36, 58, -125, 35, -80, -124, 110, 76,
            -83, -78, -123, -34, 66, 80, 99, 67, 109, 0, -85, 114, 38, -82, -11, -120, -117, 14, 63,
            109, 81, 95, -10, 49, 0, 0, 68, 111, 49, -98, -85, -98, 49, -85, 82, -98, -85, -85, 49,
            5, 38, 50, 68, -98, -36, -123, 58, -34, 0, -127, 68, 68, -78, 111, 111, -128, 49, 52,
            104, 52, 49, -128, -128, 16, 104, -89, -127, 3, -107, 26, 96, 63, 124, 125, 104, 12, 89,
            17, -121, 112, 72, 94, 15, 93, 30, 83, 33, 102, -123, 0, 90, 85, 8, -18, -20, -125, 84,
            -114, 110, -50, 4, -107, 8, 100, 111, 81, 102, -121, -15, -4, 85, 85, 85, -107, -120,
            58, 37, -122, 127, 90, 37, 80, -121, 67, 58, 85, 6, 20, 4, 65, 11, 103, 58, -112, -103,
            -123, -40, -10, -112, 90, -20, -125, 87, -105, -18, -126, 38, -123, 10, -51, 4, 121,
            -108, 104, 106, 95, 101, -78, 70, -113, -76, -120, -30, 100, -20, -102, 104, 106, 111,
            96, 70, -123, -123, 93, 93, 80, 3, 92, -14, -42, -112, 0, 37, 66, -123, 53, -63, 90, 53,
            90, -53, -68, -127, 90, 0, -101, 22, 118, -6, -46, -60, -32, -75, 78, 20, 81, 78, 3,
            -123, -120, 110, 118, 55, -82, 32, 68, -63, 46, 37, 90, 0, -116, 51, 94, 91, 75, -19,
            37, -44, 90, 71, 75, -37, -46, -15, 102, -73, -87, -85, 127, 53, -122, -84, 46, -15, 16,
            -74, -14, 109, -116, 45, 58, 65, -44, -120, -122, -95, 103, 1, 12, 37, 47, 90, 90, -117,
            85, -3, 78, 70, -15, 109, -111, 68, 84, -63, 18, -117, -123, 50, 103, -24, 63, 3, 92,
            -46, 41, 44, -48, 114, -122, 16, 77, 23, 71, 102, -125, 80, -123, 111, -126, 73, 14, 33,
            90, 87, -40, -59, 76, 63, 73, 9, -4, -72, 76, 40, 60, 52, -115, 96, 104, 20, -83, -127,
            -15, 90, 95, -72, 18, 0, 33, -76, 109, -20, 42, 16, -124, 90, 60, -53, 85, -117, -72,
            -123, 107, -72, -123, 97, 46, -81, 69, -16, -40, 42, -83, 53, 107, 89, 63, 83, -123,
            -123, 32, 121, 53, 20, 91, 54, 86, 107, 32, 103, 58, -101, -32, 74, -85, 11, 109, -115,
            41, 104, -116, -95, -85, 26, 74, 102, -6, 53, 18, 98, -46, -128, 118, 87, 16, 92, -100,
            -95, 100, -76, 121, 115, -73, 4, 118, -75, -40, 115, 36, -4, 83, 106, 118, -81, 106,
            -112, -123, -36, 40, -127, 95, 40, -59, -36, -123, -123, 96, -125, 67, -123, 94, 58,
            -125, -118, 87, 111, 30, 102, 111, 39, 85, 85, -118, 111, 111, 92, -117, -118, 91, 35,
            35, 35, -118, 39, 59, 41, 39, 65, 58, -7, -7, 105, 122, 65, 43, 47, 86, 84, -121, 60,
            43, 32, 104, 0, -23, 58, 83, 8, 43, 113, 84, 8, 14, -76, -122, -125, 25, -80, -120, 120,
            76, 20, 87, 96, 43, -126, -76, 119, -20, 85, 0, 90, 119, 87, -87, 34, 111, -92, 68, 0,
            80, 20, -61, -39, -117, 125, 40, -111, 15, -65, 67, 0, 9, 30, 104, 51, 25, 26, -77, 57,
            0, 102, 39, 0, 59, -3, -76, 104, -122, -125, -128, -61, -6, -76, -76, 32, 45, 98, -84,
            -125, -125, 27, 100, 90, -10, 100, 100, 26, 26, 104, -90, 68, -123, 2, -49, 66, -123,
            -122, -16, 78, 104, 31, -59, -60, 93, -4, 111, 111, 34, 93, 72, 86, -6, -66, -112, 126,
            54, -123, 88, 14, 90, 74, 80, 84, -123, -6, 32, 81, -4, 12, 89, -104, -122, -76, -120,
            -127, 0, -6, 100, 86, 6, 19, 91, -127, 122, 122, 84, 84, -115, 101, -123, 114, 0, 5, 41,
            -65, 99, 85, 13, 113, 49, 106, 110, 15, 104, 0, 80, -87, -15, 77, 87, 33, 25, -120, 52,
            104, 112, 8, -80, 58, 66, 63, -58, 1, -87, 10, -108, -51, -18, 10, 101, -56, 104, 104,
            -117, -12, 21, -103, -120, -40, 20, 19, 32, 3, 102, 87, 12, 119, 107, 124, 70, -117, 67,
            -36, 93, 121, -10, -63, 90, 38, 102, 14, 80, 90, -113, -65, 83, -1, -65, -65, 6, -112,
            -53, -112, 63, 38, 101, -120, -78, 0, -37, 0, 97, 107, 2, 96, -55, -87, 15, 106, 98, -4,
            31, 36, 111, 94, -112, -82, 84, 76, -98, 27, -125, 48, 101, 106, -66, 30, -123, -123,
            90, 111, -120, -112, -124, 126, 106, 30, 82, 15, 17, 39, -66, 69, -122, 0, -120, 98,
            124, -102, 5, 92, 56, -120, 92, 43, 26, -120, 80, 3, 40, 38, 12, -125, 64, 125, -10,
            -87, -121, -91, 15, -116, 56, -126, 10, 14, 27, -2, 126, -127, 59, 0, 15, 127, 107, -73,
            107, -4, -121, 55, 106, -68, 119, -121, 102, 72, 80, 41, 71, 90, 12, 106, 115, 14, 21,
            114, 63, 71, 54, 54, 37, 36, 84, 17, 85, 99, -87, -7, -120, -53, -87, -116, -127, 76, 3,
            30, 56, 36, 87, -117, -63, -61, 92, -120, 35, 91, -114, 100, 68, 110, 55, 105, 112, 110,
            55, -126, 79, 110, -33, 34, 87, -92, 90, 77, -53, 81, -122, -48, -51, -111, -94, -85,
            39, 83, 71, 87, -128, 110, 107, 107, 0, 46, -66, -66, 48, 111, -120, 63, 4, 70, -125,
            -110, 102, -95, -76, -117, 80, -114, -36, -97, 115, -7, 116, 95, 109, 90, -74, 33, 40,
            50, 45, 126, -62, 23, 6, -87, 71, 20, 112, 10, 0, -116, 85, 0, 63, -122, -7, 59, -121,
            -128, 58, 99, 122, 102, -80, 85, -121, 3, 79, 13, -121, 100, -109, -125, -81, 59, 41,
            65, 60, 121, -127, 115, 53, 61, 46, 11, 33, 124, 85, -94, -6, -61, -10, 80, 58, 30, 124,
            100, 104, 66, -6, 78, 27, -49, 0, 75, -118, 67, -73, 0, 0, -61, 0, 0, 68, 107, 107, 107,
            89, 22, 3, -108, 88, 78, 111, 111, 90, -85, 96, 96, -48, 120, 83, 46, 89, 111, -14, -65,
            3, 77, -73, 107, -128, 103, -124, 78, -105, -105, -117, 10, 16, 85, 90, 3, 4, -125, 90,
            -72, -72, -17, 87, 119, 119, 120, 100, 71, -120, -112, 88, 37, 96, -5, -120, -60, 125,
            37, -7, 96, 70, -121, -4, 80, 20, 80, -23, -127, 121, 118, -126, 73, 102, -114, 49, 5,
            80, 87, -98, 68, 127, 85, 39, -6, -93, -111, 102, 112, -63, 114, 41, 63, -117, 105, 0,
            2, 32, -112, -98, 0, -124, -77, 80, -22, 0, 51, 106, 39, 46, 39, 114, -125, -92, -30,
            -61, 115, 6, 53, 112, -87, -117, 85, 9, 41, 95, 71, -79, -128, -125, -4, -109, -9, 55,
            112, 41, 111, -101};

}
